package com.ponhu.ea2.stockcenter.provider.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;
import java.io.Serializable;

/**
 * WMS任务链执行时货品在仓库间变动记录表
 *
 * @author ${author}
 * @since 2021-10-26
 */
@Data
@Accessors(chain = true)
@TableName(value = "ph_stock_inventory_warehouse_trace")
public class StockInventoryWarehouseTrace implements Serializable {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 货品编码
     */
    private String inventoryCode;

    /**
     * 货品所在仓库编码
     */
    private String warehouseCode;

    /**
     * 货品所在仓库是否可售：0否，1是
     */
    private Boolean warehouseSale;

    /**
     * 业务单号
     */
    private String directSn;

    /**
     * 调拨单号
     */
    private String transferNo;

    /**
     * 变动类型：200-调拨申请 201-调出 202-调入 203-销售出库 205-采退出库
     */
    private Integer actionType;

    /**
     * 库存变动数量
     */
    private Integer updatedNum;

    /**
     * 变动说明
     */
    private String optRemark;

    /**
     * 是否链路占用：0否1是
     */
    private Boolean inOccupy;

    /**
     * 任务链路是否进行中：0否1是
     */
    private Boolean inProgress;

    /**
     * 备注
     */
    private String remark;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.UPDATE, update = "NOW()")
    private LocalDateTime updateTime;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    public Integer getUpdatedNumAbs() {
        return Math.abs(updatedNum);
    }

}
